ion-app.app-root core-course-module {
    background: white;
    display: block;

    .item.core-course-module-handler {
        align-items: flex-start;
        min-height: 52px;

        &.item .item-inner {
            @include safe-area-padding(null, 0px, null, null);
        }
        .label {
            @include margin(0, 0, 0, null);
        }
        .core-module-icon {
            align-items: flex-start;
        }

        cursor: pointer;
        &.item-ios:active,
        &.item-ios.activated {
            background-color: $list-ios-activated-background-color;
        }
        &.item-md:active,
        &.item-md.activated {
            background-color: $list-md-activated-background-color;
        }
        &.item-wp:active,
        &.item-wp.activated {
            background-color: $list-wp-activated-background-color;
        }
    }

    .core-module-title {
        display: flex;
        flex-flow: row;
        align-items: flex-start;

        core-format-text {
            flex-grow: 2;
        }
        .core-module-buttons,
        .buttons.core-module-buttons {
            margin: 0;
        }

        .core-module-buttons,
        .core-module-buttons-more {
            display: flex;
            flex-flow: row;
            align-items: center;
            z-index: 1;
            justify-content: space-around;
            align-content: center;
        }

        .core-module-buttons core-course-module-completion,
        .core-module-buttons-more button {
            cursor: pointer;
            pointer-events: auto;
        }

        .core-module-buttons core-course-module-completion {
            text-align: center;
        }
    }

    .core-module-more-info {
        ion-badge {
            @include text-align('start');
        }

        .core-module-availabilityinfo  {
            font-size: 90%;
            ul {
                margin-block-start: 0.5em;
            }
        }
    }

    .core-not-clickable {
        cursor: initial;

        &:active,
        &.activated {
            background-color: $list-background-color;
        }
    }

    .core-module-loading {
        width: 100%;
        text-align: center;
        padding-top: 10px;
        clear: both;
        @include darkmode() {
            color: $core-dark-text-color;
        }
    }

    @include darkmode() {
        .item.core-course-module-handler {
            background: $core-dark-item-bg-color;
            &.item-ios:active,
            &.item-ios.activated,
            &.item-md:active,
            &.item-md.activated,
            &.item-wp:active,
            &.item-wp.activated {
              background-color: $core-dark-background-color;
            }
        }

        .core-not-clickable:active,
        .core-not-clickable.activated {
            background-color: $core-dark-item-bg-color;
        }
    }
}

ion-app.app-root.md core-course-module {
    .core-module-description {
        @include padding(null, $label-md-margin-end, null, null);
        margin-bottom: $label-md-margin-bottom;

        .core-show-more {
            @include padding(null, $label-md-margin-end, null, null);
        }
    }

    .item.core-course-module-handler .core-module-icon {
        margin-top: $label-md-margin-top;
        margin-bottom: $label-md-margin-bottom;
        width: 24px;
        height: 24px;
    }

    .core-module-title core-format-text {
        padding-top: $label-md-margin-top + 3;
    }
    .button-md {
        margin-top: 8px;
        margin-bottom: 8px;
    }
    .core-module-buttons-more {
        min-height: 52px;
        min-width: 53px;
    }
}

ion-app.app-root.ios core-course-module {
    .core-module-description {
        @include padding(null, $label-ios-margin-end, null, null);
        margin-bottom: $label-md-margin-bottom;

        .core-show-more {
            @include padding(null, $label-ios-margin-end, null, null);
        }
    }

    .item.core-course-module-handler .core-module-icon {
        margin-top: $label-ios-margin-top;
        margin-bottom: $label-ios-margin-bottom;
        width: 24px;
        height: 24px;
    }

    .core-module-title core-format-text {
        padding-top: $label-ios-margin-top + 3;
    }

    .core-module-buttons-more {
        min-height: 53px;
        min-width: 58px;
    }
}

ion-app.app-root.wp core-course-module {
    .core-module-description {
        @include padding(null, $item-wp-padding-end / 2, null, null);
        margin-bottom: $label-md-margin-bottom;

        .core-show-more {
            @include padding(null, $item-wp-padding-end / 2, null, null);
        }
    }

    .item.core-course-module-handler .core-module-icon {
        margin-top: $item-wp-padding-top;
        margin-bottom: $item-wp-padding-bottom;
        width: 24px;
        height: 24px;
    }

    .core-module-title core-format-text {
        padding-top: $item-wp-padding-top + 3;
    }

    .button-wp {
        margin-top: 8px;
        margin-bottom: 8px;
    }
}

ion-app.app-root .core-course-module-handler.item [item-start] + .item-inner {
    @include margin-horizontal(4px, null);
}